// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: "test4-ht5oe"
})

const db = cloud.database()
// const Orderdb = db.collection('OrderData')
const _ = db.command
var $ = db.command.aggregate

// 云函数入口函数
exports.main = async (event, context) => {
  const tasks = []
  const tuinaDB = await db.collection('TuinaData').where(_.or([
    {
      TuinaName:db.RegExp({
          regexp:event.value,
          option:'i'
      })
    },{
      TuinaBriefIntro:db.RegExp({
          regexp:event.value,
          option:'i'
      })
    },{
      TuinaGrade:db.RegExp({
          regexp:event.value,
          option:'i'
      })
    }])).get()

    const sidelineDB = await db.collection('SidelineData').where(_.or([
      {
        SidelineBriefIntro:db.RegExp({
            regexp:event.value,
            option:'i'
        })
      },{
        SidelineName:db.RegExp({
            regexp:event.value,
            option:'i'
        })
      }])).get()

      const medicDB = await db.collection('MedicineData').where(_.or([
        {
          MedicName:db.RegExp({
              regexp:event.value,
              option:'i'
          })
        },{
          MedicBriefIntro:db.RegExp({
              regexp:event.value,
              option:'i'
          })
        }])).get()

    tasks.push(tuinaDB)
    tasks.push(sidelineDB)
    tasks.push(medicDB)

     return (await Promise.all(tasks)).reduce((acc, cur) => {
      // console.log(acc,cur)
      return {
        data: acc.data.concat(cur.data),
        errMsg: acc.errMsg,
      }
    })
}